home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 16584 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  2.9 KB

  1. Path: ix.netcom.com!netnews
  2. From: giuliano@ix.netcom.com(Giuliano Carlini)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: Need Professional advice (by a beginner)
  5. Date: 11 Apr 1996 06:18:13 GMT
  6. Organization: Netcom
  7. Message-ID: <4ki875$jmn@reader2.ix.netcom.com>
  8. References: <316898E2.6754@netvision.net.il> <4kcg7k$rfm@nntp1.best.com>
  9. NNTP-Posting-Host: lbx-ca7-14.ix.netcom.com
  10. X-NETCOM-Date: Wed Apr 10 11:18:13 PM PDT 1996
  11.  
  12. >Bruce Klaydman <bruce@netvision.net.il> wrote:
  13. >
  14. >>Need Professional advice (by a beginner).
  15. >>I want to be a professional programmer my question is 
  16. >>can I do it on my own (without taking any courses) ?
  17.  
  18. It is definitely possible. The question is whether it is easier. The
  19. language you write in isn't what makes you a professional. It's knowing
  20. what to do with it.
  21.  
  22. Number one is a book on Algorithms and Data Structures. All of CS is
  23. just algorithms and data structures. Get started right, and learn this
  24. first. For learning, stay away from Knuth's Art of Programming. While
  25. my feelings on it are mixed as a general reference, it is definitely
  26. not a book for a beginner. It's all written in a make believe assembly
  27. language. You spend 90% of the time translating the low level assembler
  28. to what is intended at the high level. I hope I don't get toasted TOO
  29. bad for this heresy.
  30.  
  31. I'm keen on everyone knowing a little about compilers. Now, very few of
  32. us will end up working with them, but it is amazing how often I find
  33. myself writing little parsers, symbol tables, semantic analyzers, code
  34. generators, etc.
  35.  
  36. Ditto about operating systems. You'll learn about mutual exclusion,
  37. tasking, file systems, virtual memory, and all sorts of things you'll
  38. need in the real world of programming.
  39.  
  40. Theory of computation. The formal math that underlies our craft. You
  41. won't use it directly very often, but it had a profound affect on how I
  42. think about problems.
  43.  
  44. College Algebra. Another subject you won't use at all, but it is
  45. amazing how an understanding of it illuminates the tools you use, and
  46. the systems you produce.
  47.  
  48. Join and subscribe to the Association of Computing machinery -
  49. www.acm.org. The industry rags are ok, but the journals are where new
  50. results first come out. Anything I've seen in Doctor Dobb's or whatever
  51. I've always seen years earlier in a journal.
  52.  
  53. I'd suggest learning using Eiffle rather than C++. Most of us need C++
  54. to live off of, but Eiffle is vastly better. Once you've learned the
  55. right way, most of it carries over to C++. The problem with C++ is that
  56. there are 30,000 ways to do anything, and 28,000 of them are wrong. You
  57. might hit on the right way without experience, but it isn't likely.
  58. Eiffle makes it easier to do things right. Then once you know it, you
  59. can use C++ with discipline.
  60.  
  61. Lastly, you've got to write a lot of bad code before you get good.
  62. Write and rewrite. Go back and look at what you did a year ago, and see
  63. if you can do it better. And don't be just a coder. Think about the
  64. overall structure and design of you programs.
  65.  
  66. g
  67.